package com.geline.mybatisplus.annotation;

import com.geline.mybatisplus.handler.ExtractAfterHandler;

import java.lang.annotation.*;

/**
 * 计算提取字段注解
 * 建议放在放在子表实体类上，自定义处理逻辑，解决子表crud后更新其它表字段
 * 注意：handler只能更新其它表(todo:不能更新当前表，如果更新当前表会导致死循环)
 *
 * @author mx
 * @date 2025/8/18
 */
@Repeatable(ExtractAfters.class)
@Documented
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface ExtractAfter {

    Class<? extends ExtractAfterHandler> handler();

    //SPEL过滤条件："orderType='CG' && amount <= 100"
    String condition() default "";

    //更新说明
    String remark() default "";
}
